-
Notifications
You must be signed in to change notification settings - Fork 108
Update to lxml 6.0.0 and fix GitHub Actions #353
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…xml2" This reverts commit 967754b.
As suggested in xmlsec#344 (comment)
The server at www.aleksey.com (Cloudflare?) returns 403 Forbidden errors for some combination of: - missing User-Agent header - GitHub Actions CI runner IP address range - TLS settings (version, cipher suite) used by Python <= 3.9
This solves the warning: configure: WARNING: you should use --build, --host, --target
for more information, see https://pre-commit.ci
You can check the working wheel build at https://github.com/TomiBelan/python-xmlsec/actions/runs/16104214310 |
@TomiBelan Looks good, you can merge that. |
@mxamin Thanks but I don't have write access to your repo. You have to merge it. |
Thanks for reviewing it! :) |
Yep. Would be great to get notified when it is released indeed and unblock apache/airflow#52539 as well |
I'm actively working on that during summer and planning to release it soon, but first I need to solve the libxml2 incompatibility issue. |
libxml2 incompatibility issue? Tell me more. Is there some other issue this PR doesn't fix? I can try and take a look. I thought Windows wheels won't be a problem, because the python-xmlsec 1.3.15 release contained them. I assume someone built them manually. If it might take a while until the release, you might want to reopen #344 for now. (I don't have access.) |
Correction - I just found that lxml 6.0.0 windows wheels use "libxml2 2.11.9, libxslt 1.1.39 and libiconv 1.17" (link). Sorry for any confusion. |
Take a look at this issue: #283 On the second thought I probably release a new version soon and solve the incompatibility issue later. It requires lots of changes and cleanup. |
I see... That's beyond my ability to fix. 😅 |
Nice, I created a PR but I'm not sure if it's gonna pass. Feel free to create a PR and I'm gonna use yours if it works :) |
Narrator: looks straight at camera I made some progress. (draft, CI, draft, CI) For some reason, every build takes 1 hour. Very annoying. Turns out that xmlsec 1.3.7 switched the default windows backend from openssl to mscng. Which do you prefer: Should python-xmlsec follow suit, or switch it back to openssl? Also, JFYI, xmlsec 1.3.6 disabled iconv on windows by default. But iconv is apparently also used by libxml2, so, might as well keep it enabled. |
openssl vs mscng: I guess we'd better follow xmlsec and use mscng if possible. Also I have no objection to continue using openssl. I'll leave it to you to decide. |
OK, I got it to work. (successful build) Do this next:
|
Thanks a lot for the help, the new release is out. |
Excellent! Was there some problem with Windows ARM that made you revert it? (Personally I don't care, it can wait for the next release.) I think https://pypi.org/project/xmlsec/#files is missing the sdist (source distribution). |
Oh, my bad. I forgot to add the arm back after testing that :( I'll add the sdist.zip |
This PR updates the libxml2+libxslt versions to be compatible with lxml 6.0.0, and fixes various other issues that were preventing manylinux wheels from being built (per @mxamin #344 (comment)), as well as other broken CI workflows.
windows-2019
towindows-2022
is not sufficient, because the prebuilt libraries at https://github.com/mxamin/python-xmlsec-win-binaries are too old and the compiler version does not match. Someone else has to fix that.)